package command

import (
	"ssadmin/common/utils"
	"ssadmin/internal/admin/models"
	"time"
)

//应用新增参数
type UserAppInsertReq struct {
	AppName    string   `json:"appName"`
	ExpireTime string   `json:"expireTime"` // 有效时间
	Status     string   `json:"status"`
	ApiList    []string `json:"apiList"`

	Creator   string `json:"-"`
	CreatorId string `json:"-"`
}

//初始化新增对象
func (s *UserAppInsertReq) Generate(model *models.UserApp) {
	//当前时间
	nowTime := time.Now()

	//初始化
	model.AppId = utils.GetUUIdTo16()
	model.AppName = s.AppName
	model.CreateTimeDts = &nowTime
	model.Status = s.Status
	//有效时间格式处理
	model.ExpireTimeDts = utils.ConvtStrToTimePoint(s.ExpireTime, utils.TIME_FMT_FULL)

	//创建人信息
	model.Creator = s.Creator
	model.CreatorId = s.CreatorId
}

//修改对象
type UserAppUpdateReq struct {
	AppId      string   `json:"appId"`
	AppName    string   `json:"appName"`
	ExpireTime string   `json:"expireTime"` // 有效时间
	Status     string   `json:"status"`
	ApiList    []string `json:"apiList"`
}

func (s *UserAppUpdateReq) Generate(model *models.UserApp) {
	//当前时间
	nowTime := time.Now()
	//当前要修改的appid
	model.AppId = s.AppId

	//能够修改的字段
	if s.AppName != "" {
		model.AppName = s.AppName
	}
	if s.ExpireTime != "" {
		model.ExpireTimeDts = utils.ConvtStrToTimePoint(s.ExpireTime, utils.TIME_FMT_FULL)
	}
	if s.Status != "" {
		model.Status = s.Status
	}
	if s.ApiList != nil {
		model.ApiList = s.ApiList
	}

	//修改时间
	model.ModifyTimeDts = &nowTime
}
